home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / amms20d.lha / amms / menu / PM.bat < prev    next >
DOS Batch File  |  1994-05-07  |  4KB  |  161 lines

  1. ;    $VER: 1.01 / 12.02.1994
  2. ; PM-Menue
  3. ; --------
  4. ; Im Menu ist Command-Bit 6 gesetzt. Deshalb kann der User definiert
  5. ; auf Befehle zugreifen, auf die er normalerweise keinen Zugriff hat.
  6. ; Die Variable COM wird zum Erkennen von Fehlern benutzt. Tritt ein
  7. ; Fehler auf, so wird in die Routine SAVE_ERROR verzweigt, die den Fehler
  8. ; im File mbdat:menu.err protokolliert.
  9. ; Die Variable JUMP wird zum eventuellen Sprung von einem Untermenue zum
  10. ; anderen benutzt, ohne das Hauptmenue dazwischen aufzurufen. In dieser
  11. ; Variable muss dann das entsprechende Label des Untermenues stehen.
  12. ; Soll kein Schnell-Wechsel stattfinden, so darf die Variable JUMP nicht
  13. ; geaendert werden.
  14. ;
  15.  
  16. ;
  17. ; **** Message-Menue
  18. ;
  19. MENU="PM"                ; Name des Menues
  20. _on error SAVE_ERROR            ; Beim Fehler -> Fehlerbehandlungsrou.
  21.  
  22. ; Menuetext ausgeben und Tasten abfragen
  23.  
  24. MENU:
  25. COM="MENU"                ; Menupunkt in Variable COM speichern
  26. COMNAME="PM-Menu"            ; WHO-Befehlsname setzen
  27. _menu/file "menu:'{ALANGUAGE}'/pm.txt" -
  28.  "^R" MENU -                ; Bildschirm erneuern
  29.  "B" CLI -                ; Befehleebene
  30.  "D" DOWNLOAD -                ; Batch-Download
  31.  "F" FILES -                ; File-Menue
  32.  "M" MSGS -                ; Msg-Menue
  33.  "P" FMAIL -                ; Privatfiles anschauen
  34.  "Q" MAIN -                ; Main-Menue
  35.  "R" MAIL -                ; PMs lesen
  36.  "S" SEND -                ; PM senden
  37.  "U" FSEND                 ; Privatfile schicken
  38.  
  39. ;
  40. ; **** Endroutine
  41. ; **** Diese Routine muss fuer das Beenden des Menues aufgerufen werden.
  42. ;
  43. END:
  44. _eod                    ; Ende
  45.  
  46. ;
  47. ; **** Rueckkehr in die Befehlsebene
  48. ;
  49. CLI:
  50. COM="CLI"                ; Menupunkt setzen
  51. JUMP=="CLI"                ; Einsprunglabel im Main-Menue setzen
  52. _goto END                ; Ende der Batchdatei
  53.  
  54. ;
  55. ; **** Batch-Download
  56. ;
  57. DOWNLOAD:
  58. COM="DOWNLOAD"                ; Menupunkt setzen
  59. COMNAME=COM                ; WHO-Befehlsname setzen
  60. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  61. _download                ; Batch-Download starten
  62. _gosub WAIT                ; Warte auf Taste
  63. _goto MENU                ; -> Menue
  64.  
  65. ;
  66. ; **** File-Menue
  67. ;
  68. FILES:
  69. COM="FILES"                ; Menupunkt setzen
  70. JUMP=="FILES"                ; Einsprunglabel im Main-Menue setzen
  71. _goto END                ; Ende der Batchdatei
  72.  
  73. ;
  74. ; **** Message-Menue
  75. ;
  76. MSGS:
  77. COM="MSGS"                ; Menupunkt setzen
  78. JUMP=="MSGS"                ; Einsprunglabel im Main-Menue setzen
  79. _goto END                ; Ende der Batchdatei
  80.  
  81. ;
  82. ; **** Privatfiles anschauen
  83. ;
  84. FMAIL:
  85. COM="FMAIL"                ; Menupunkt setzen
  86. COMNAME=COM                ; WHO-Befehlsname setzen
  87. _if {LEVEL} <= GUESTLEVEL then _goto MENU ; Wenn Gast -> Menue
  88. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  89. _fmail                    ; Privatfiles anschauen
  90. _goto MENU                ; -> Menue
  91.  
  92. ;
  93. ; **** Main-Menue
  94. ;
  95. MAIN:
  96. COM="MAIN"                ; Menupunkt setzen
  97. _goto END                ; Ende der Batchdatei
  98.  
  99. ;
  100. ; **** Alle PMs lesen
  101. ;
  102. MAIL:
  103. COM="MAIL"                ; Menupunkt setzen
  104. COMNAME=COM                ; WHO-Befehlsname setzen
  105. _if {LEVEL} <= GUESTLEVEL then _goto MENU ; Wenn Gast -> Menue
  106. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  107. _mail                    ; PMs lesen
  108. _goto MENU                ; -> Menue
  109.  
  110. ;
  111. ; **** Message schreiben
  112. ;
  113. SEND:
  114. COM="SEND"                ; Menupunkt setzen
  115. COMNAME=COM                ; WHO-Befehlsname setzen
  116. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  117. _send                    ; PM senden
  118. _goto MENU                ; -> Menue
  119.  
  120. ;
  121. ; **** Privatfile senden
  122. ;
  123. FSEND:
  124. COM="FSEND"                ; Menupunkt setzen
  125. COMNAME=COM                ; WHO-Befehlsname setzen
  126. _if {LEVEL} <= GUESTLEVEL then _goto MENU ; Wenn Gast -> Menue
  127. _fsend                    ; Privatfile senden
  128. _goto MENU                ; -> Menue
  129.  
  130. ;
  131. ; **** SUBROUTINE: Gib einen Infotext aus und warte auf Taste
  132. ;
  133. WAIT:
  134. COM_OLD=COM                ; Alten Menupunkt retten
  135. COM="WAIT"                ; Neuen Menupunkt setzen
  136. _echo/nolf "^J[RETURN]"            ; Gib Wartemeldung aus
  137. _waitkey " ^M"                ; Warte auf Space oder Return
  138. COM=COM_OLD                ; Alten Menupunkt setzen
  139. _return                    ; Ende der Unterroutine
  140.  
  141. ;
  142. ; **** Fehlerbehandlungs-Routine
  143. ;
  144. ; Die Routine erwartet in der Variable COM den Namen des akt. Menupunkts.
  145. ; Sie protokolliert im File mbdat:menu.err die Fehler des Menues.
  146. ;
  147. SAVE_ERROR:
  148. _on error/ignore            ; Alle Fehler ignorieren
  149. _extern echo >>mbdat:menu.err "------------------"
  150. _extern echo >>mbdat:menu.err "Fehler im Menu"
  151. _extern echo >>mbdat:menu.err "Menu : 'MENU'"
  152. _extern echo >>mbdat:menu.err "Punkt: 'COM'"
  153. _extern echo >>mbdat:menu.err "User : '{NAME}'"
  154. _extern echo >>mbdat:menu.err "Datum: '{DATE}'"
  155. _extern echo >>mbdat:menu.err "Zeit : '{TIME}'"
  156. _extern echo >>mbdat:menu.err "------------------"
  157. _disk text "menu:'{ALANGUAGE}'/Error.txt"  ; Fehlertext anzeigen
  158. _waitkey " ^M"
  159. _if COM == "Menu" then _goto END    ; Wenn Fehler im Menue -> Main-Menue
  160. _goto MENU                ; -> Menue
  161.